﻿// See https://aka.ms/new-console-template for more information
//接口隔离
//汽车:驾驶  坦克:驾驶,开炮
//namespace shh
//{
//    class Program
//    {
//        static void Main(string[] args)
//        {
//            Driver driver = new Driver(new HeavyTank());
//            driver.Drive();
//        }
//    }

//    class Driver
//    {
//        private IVehicle _vehicle;
//        public Driver(IVehicle vehicle)
//        {
//            _vehicle = vehicle;
//        }

//        public void Drive()
//        {
//            _vehicle.Run();
//        }
//    }

//    interface IVehicle
//    {
//        void Run();
//    }

//    interface IWeapon
//    {
//        void Fire();
//    }

//    class Car : IVehicle
//    {
//        public void Run()
//        {
//            Console.WriteLine("Car is running");
//        }
//    }

//    interface ITank:IVehicle,IWeapon
//    { }

//    class HeavyTank : ITank
//    {
//        public void Fire()
//        {
//            Console.WriteLine("Fire!!!");
//        }

//        public void Run()
//        {
//            Console.WriteLine("Tank is running");
//        }
//    }
//}

//gentleman killer
//C#语言独有功能,接口显示实现
//namespace shh
//{
//    class Program
//    {
//        static void Main(string[] args)
//        {
//            var wk = new WarmKiller();
//            //wk.Kill(); 找不到Kill,杀手怎么可能让你直接看出来
//            var t = wk as IKiller;  //得转化成特定对象才能看到
//            if (t != null)
//            {
//                t.Kill(); 
//            }
//        }
//    }
//    interface IGentle
//    {
//        void Love();
//    }
//    interface IKiller
//    {
//        void Kill();
//    }

//    class WarmKiller : IGentle, IKiller
//    {
//        public void Love()
//        {
//            Console.WriteLine("Love");
//        }

//        void IKiller.Kill()
//        {
//            Console.WriteLine("Kill you");
//        }

//        //public void Kill()
//        //{
//        //    Console.WriteLine("Kill you");
//        //}
//    }
//}


namespace shh
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }

}